package praktikum3;

import java.util.List;

public interface IZimmerServices {

	/**
	 * Systemoperation: Gibt die Kategorie des Zimmers zurueck
	 * @param die Zimmer ID
	 * @throw zimmerIdNichtBekanntExeption Wenn eine ZimmerID uebergeben wird die nicht existiert
	 * @pre Die Zimmer ID ist bekannt
	 * @post Der Zimmertyp ist gefunden
	 */
	String getTypZimmer(int zimmer);
	
	/**
	 * Systemoperation: Gibt eine Liste der Zimmer eines Types zurueck
	 * @param Der Zimmertyp
	 * @throw zimmerTypNichtBekanntExeption Wenn ein Zimmertyp uebergeben wird, der nicht existiert
	 * @pre Der Zimmertyp ist bekannt
	 * @post Eine Liste aller Zimmer des Types ist erstellt
	 */
	public List<Integer> getFreieZimmerVonTyp(String Zimmertyp);
	
	/**
	 * Systemoperation: Setzt das Zimmer auf Reserviert und ordnet das Zimmer der Reservierung zu
	 * @param die Zimmer ID
	 * @return 
	 * @throw zimmerIdNichtBekanntExeption Wenn eine ZimmerID uebergeben wird die nicht existiert
	 * @pre Die Zimmer ID und die ReservierungsId sind bekannt
	 * @post Das Zimmer ist Gelogt
	 */
	public boolean setAddZimmer(int zimmer, int ReservierungsId);
	
	/**
	 * Systemoperation: Loest das Zimmer von der reservierung und setzt es auf frei
	 * @param die Zimmer ID
	 * @throw zimmerIdNichtBekanntExeption Wenn eine ZimmerID uebergeben wird die nicht existiert
	 * @pre Die Zimmer ID und die ReservierungsId sind bekannt
	 * @post Das Zimmer ist wieder frei
	 */
	public void setZimmerFrei(int zimmer, int ReservierungsId);
	
	
}
